#ifndef DEBUGINFORMATIONDLG_H
#define DEBUGINFORMATIONDLG_H

#include <QDialog>
#include <QStandardItem>
#include "../CommunicateDelegate/gSoapFoundation/soapStub.h"
#include <QTimer>
//using namespace hmigsoapnamespace;
namespace Ui {
class DebugInformationDlg;
}

class DebugInformationDlg : public QDialog
{
    Q_OBJECT

public:
    explicit DebugInformationDlg(int styleId,QWidget *parent = 0);
    ~DebugInformationDlg();

    void initialDisplayStyle(int styleId);

public:
    void showDebugInfo_motionServer(MotionDebugInfo info);
    void showDebugInfo_programEngine(ProgramEngineDebugInfo info);
    void showDebugInfo_programEngine(std::vector<ProgramEngineDebugInfo> infoList);
    void showDebugInfo_taskInfo(TaskManagerInfo taskInfo);

signals:
    void getPogramEngineDebugInfoSignal();
    void getMotionEngineDebugInfoSignal();
    void getTaskInfoSignal();

private slots:
    void timeOutSlot();
    void on_pushButton_hide_clicked();

    void on_checkBox_autoRefresh_clicked(bool checked);

private:
    Ui::DebugInformationDlg *ui;
    QStandardItemModel* model_progremEngine;
    QStandardItemModel* model_motionEngine;
    QStandardItemModel* model_taskInfo;

    QTimer* timer;
};

#endif // DEBUGINFORMATIONDLG_H
